From: Jonas Dreßler Date: Wed, 25 Apr 2018 22:32:57 +0000 (+0200) Subject: switcherPopup: Select correct item after removal of item X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~772^2^2~27 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=c00f1d040bbb6cd5449fda14ea0992914847c821;p=gnome-shell.git switcherPopup: Select correct item after removal of item If an item was removed, make sure the selected item is still selected or select the last one if the selected item was removed. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/167 --- diff --git a/js/ui/switcherPopup.js b/js/ui/switcherPopup.js index 49b99dd18..5f2839cf2 100644 --- a/js/ui/switcherPopup.js +++ b/js/ui/switcherPopup.js @@ -255,7 +255,15 @@ var SwitcherPopup = GObject.registerClass({ _itemRemovedHandler(n) { if (this._items.length > 0) { - let newIndex = Math.min(n, this._items.length - 1); + let newIndex; + + if (n < this._selectedIndex) + newIndex = this._selectedIndex - 1; + else if (n === this._selectedIndex) + newIndex = Math.min(n, this._items.length - 1); + else if (n > this._selectedIndex) + return; // No need to select something new in this case + this._select(newIndex); } else { this.fadeAndDestroy();